﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.Generic
Imports System.Xml.Serialization

Namespace roncliProductions.LibWowArmory.ItemInfoSchema

    Public Class itemInfo_item

        Private strIcon As String
        Private intID As Integer
        Private intLevel As Integer
        Private intMultiLoot As Integer
        Private intMultiLootQuest As Integer
        Private strName As String
        Private intQuality As Integer
        Private strRequiredAbility As String
        Private strRequiredSkill As String
        Private intRequiredSkillRank As Integer
        Private strType As String
        Private cCost As New List(Of cost)
        Private rpRandomProperties As New List(Of randomProperties)
        Private dlDisenchantLoot As New List(Of disenchantLoot)
        Private sqStartsQuest As New List(Of startsQuest)
        Private pfqProvidedForQuests As New List(Of providedForQuests)
        Private ooqObjectiveOfQuests As New List(Of objectiveOfQuests)
        Private rfqRewardFromQuests As New List(Of rewardFromQuests)
        Private vVendors As New List(Of vendors)
        Private coContainerObjects As New List(Of containerObjects)
        Private dcDropCreatures As New List(Of dropCreatures)
        Private ppcPickPocketCreatures As New List(Of pickPocketCreatures)
        Private scSkinCreatures As New List(Of skinCreatures)
        Private hcHerbCreatures As New List(Of herbCreatures)
        Private mcMineCreatures As New List(Of mineCreatures)
        Private cbCreatedBy As New List(Of createdBy)
        Private rfReagentFor As New List(Of reagentFor)
        Private cfCurrencyFor As New List(Of currencyFor)
        Private tfTranslationFor As New List(Of translationFor)

        <XmlAttribute()> Public Property icon() As String
            Get
                Return strIcon
            End Get
            Set(ByVal value As String)
                strIcon = value
            End Set
        End Property

        <XmlAttribute()> Public Property id() As Integer
            Get
                Return intID
            End Get
            Set(ByVal value As Integer)
                intID = value
            End Set
        End Property

        <XmlAttribute()> Public Property level() As Integer
            Get
                Return intLevel
            End Get
            Set(ByVal value As Integer)
                intLevel = value
            End Set
        End Property

        <XmlAttribute()> Public Property multiLoot() As Integer
            Get
                Return intMultiLoot
            End Get
            Set(ByVal value As Integer)
                intMultiLoot = value
            End Set
        End Property

        <XmlAttribute()> Public Property multiLootQuest() As Integer
            Get
                Return intMultiLootQuest
            End Get
            Set(ByVal value As Integer)
                intMultiLootQuest = value
            End Set
        End Property

        <XmlAttribute()> Public Property name() As String
            Get
                Return strName
            End Get
            Set(ByVal value As String)
                strName = value
            End Set
        End Property

        <XmlAttribute()> Public Property quality() As Integer
            Get
                Return intQuality
            End Get
            Set(ByVal value As Integer)
                intQuality = value
            End Set
        End Property

        <XmlAttribute()> Public Property requiredAbility() As String
            Get
                Return strRequiredAbility
            End Get
            Set(ByVal value As String)
                strRequiredAbility = value
            End Set
        End Property

        <XmlAttribute()> Public Property requiredSkill() As String
            Get
                Return strRequiredSkill
            End Get
            Set(ByVal value As String)
                strRequiredSkill = value
            End Set
        End Property

        <XmlAttribute()> Public Property requiredSkillRank() As Integer
            Get
                Return intRequiredSkillRank
            End Get
            Set(ByVal value As Integer)
                intRequiredSkillRank = value
            End Set
        End Property

        <XmlAttribute()> Public Property type() As String
            Get
                Return strType
            End Get
            Set(ByVal value As String)
                strType = value
            End Set
        End Property

        <XmlElement()> Public Property cost() As List(Of cost)
            Get
                Return cCost
            End Get
            Set(ByVal value As List(Of cost))
                cCost = value
            End Set
        End Property

        <XmlElement()> Public Property randomProperties() As List(Of randomProperties)
            Get
                Return rpRandomProperties
            End Get
            Set(ByVal value As List(Of randomProperties))
                rpRandomProperties = value
            End Set
        End Property

        <XmlElement()> Public Property disenchantLoot() As List(Of disenchantLoot)
            Get
                Return dlDisenchantLoot
            End Get
            Set(ByVal value As List(Of disenchantLoot))
                dlDisenchantLoot = value
            End Set
        End Property

        <XmlElement()> Public Property startsQuest() As List(Of startsQuest)
            Get
                Return sqStartsQuest
            End Get
            Set(ByVal value As List(Of startsQuest))
                sqStartsQuest = value
            End Set
        End Property

        <XmlElement()> Public Property providedForQuests() As List(Of providedForQuests)
            Get
                Return pfqProvidedForQuests
            End Get
            Set(ByVal value As List(Of providedForQuests))
                pfqProvidedForQuests = value
            End Set
        End Property

        <XmlElement()> Public Property objectiveOfQuests() As List(Of objectiveOfQuests)
            Get
                Return ooqObjectiveOfQuests
            End Get
            Set(ByVal value As List(Of objectiveOfQuests))
                ooqObjectiveOfQuests = value
            End Set
        End Property

        <XmlElement()> Public Property rewardFromQuests() As List(Of rewardFromQuests)
            Get
                Return rfqRewardFromQuests
            End Get
            Set(ByVal value As List(Of rewardFromQuests))
                rfqRewardFromQuests = value
            End Set
        End Property

        <XmlElement()> Public Property vendors() As List(Of vendors)
            Get
                Return vVendors
            End Get
            Set(ByVal value As List(Of vendors))
                vVendors = value
            End Set
        End Property

        <XmlElement()> Public Property containerObjects() As List(Of containerObjects)
            Get
                Return coContainerObjects
            End Get
            Set(ByVal value As List(Of containerObjects))
                coContainerObjects = value
            End Set
        End Property

        <XmlElement()> Public Property dropCreatures() As List(Of dropCreatures)
            Get
                Return dcDropCreatures
            End Get
            Set(ByVal value As List(Of dropCreatures))
                dcDropCreatures = value
            End Set
        End Property

        <XmlElement()> Public Property pickPocketCreatures() As List(Of pickPocketCreatures)
            Get
                Return ppcPickPocketCreatures
            End Get
            Set(ByVal value As List(Of pickPocketCreatures))
                ppcPickPocketCreatures = value
            End Set
        End Property

        <XmlElement()> Public Property skinCreatures() As List(Of skinCreatures)
            Get
                Return scSkinCreatures
            End Get
            Set(ByVal value As List(Of skinCreatures))
                scSkinCreatures = value
            End Set
        End Property

        <XmlElement()> Public Property herbCreatures() As List(Of herbCreatures)
            Get
                Return hcHerbCreatures
            End Get
            Set(ByVal value As List(Of herbCreatures))
                hcHerbCreatures = value
            End Set
        End Property

        <XmlElement()> Public Property mineCreatures() As List(Of mineCreatures)
            Get
                Return mcMineCreatures
            End Get
            Set(ByVal value As List(Of mineCreatures))
                mcMineCreatures = value
            End Set
        End Property

        <XmlElement()> Public Property createdBy() As List(Of createdBy)
            Get
                Return cbCreatedBy
            End Get
            Set(ByVal value As List(Of createdBy))
                cbCreatedBy = value
            End Set
        End Property

        <XmlElement()> Public Property reagentFor() As List(Of reagentFor)
            Get
                Return rfReagentFor
            End Get
            Set(ByVal value As List(Of reagentFor))
                rfReagentFor = value
            End Set
        End Property

        <XmlElement()> Public Property currencyFor() As List(Of currencyFor)
            Get
                Return cfCurrencyFor
            End Get
            Set(ByVal value As List(Of currencyFor))
                cfCurrencyFor = value
            End Set
        End Property

        <XmlElement()> Public Property translationFor() As List(Of translationFor)
            Get
                Return tfTranslationFor
            End Get
            Set(ByVal value As List(Of translationFor))
                tfTranslationFor = value
            End Set
        End Property

    End Class

End Namespace